home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / VLA_FONT.ZIP / GCX.ASM < prev    next >
Assembly Source File  |  1993-09-28  |  2KB  |  88 lines

  1.         IDEAL
  2.         DOSSEG
  3.         MODEL SMALL
  4.         STACK 200h
  5.         CODESEG
  6.         ASSUME  DS:@CODE, CS:@CODE
  7.         Locals
  8.         P386N
  9. ───────────────────────────────────────────────────────────────────────────
  10. INCLUDE "MODEX.INC"
  11. INCLUDE "MCLSUB.INC"
  12. INCLUDE "GCX.INC"
  13. INCLUDE "PRINTSUB.INC"
  14. ───────────────────────────────────────────────────────────────────────────
  15. UsageMsg    db  "GCX written by Draeden of VLA",13,10,10
  16.             db  "USE: GCX filename[.TGA]",13,10,"$"
  17.  
  18. FileErrorMsg db "ERROR: TGA File not found.",13,10,"$"
  19. ───────────────────────────────────────────────────────────────────────────
  20. START:
  21.     mov     ax,cs
  22.     mov     ds,ax
  23.     mov     [PSPseg],es
  24.  
  25.     call    CaptureFilename
  26.     jc      @@NoFileAbort
  27.  
  28.     mov     bx,ss
  29.     add     bx,20h
  30.     mov     [PicSeg],bx
  31.     add     bx,4096
  32.     mov     [CharSeg],bx
  33.  
  34.     push    es              ;clear the Picture segment
  35.     mov     es,[Picseg]
  36.     xor     di,di
  37.     mov     cx,8000h
  38.     xor     ax,ax
  39.     rep     stosw
  40.     pop     es
  41.     
  42.     call    LoadPicture
  43.     jc      @@NoFileAbort
  44.  
  45.     call    StealFont       ;grabs 8x8 text font
  46.  
  47.     @SetModeX   m320x240x256, 320
  48.     mov     bx,[Split]
  49.     @Set_Split
  50.     @Set_PPC
  51.     mov     bx,240*SCRW
  52.     @Set_Start_Offset
  53.  
  54.     mov     si,offset palette
  55.     mov     al,0
  56.     mov     cx,256-9
  57.     @WritePalette
  58.     mov     si,offset DefPal
  59.     mov     al,256-9
  60.     mov     cx,8
  61.     @WritePalette
  62.  
  63.     call    SetUpStuff
  64.     call    GetDimensions
  65.     call    ReFreshScreen
  66. @@MainLoop:
  67.     call    ScrollSplit
  68.     call    CheckKeys
  69.     jnc     @@MainLoop
  70.  
  71.     mov     ax,0003h                ;reset screen to text
  72.     int     10h
  73.     mov     ax,4c00h                ; return control to 
  74.     int     21h                     ; DOS and exit
  75.  
  76. @@NoFileAbort:
  77.     mov     ax,cs
  78.     mov     ds,ax
  79.     mov     ah,9
  80.     mov     dx,offset FileErrorMsg
  81.     int     21h
  82.     mov     ah,9
  83.     mov     dx,offset UsageMsg
  84.     int     21h
  85.     mov     ax,4c00h                ; return control to 
  86.     int     21h                     ; DOS and exit
  87. END     start
  88.